package org.wedding.center.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.*;
import org.wedding.system.entity.UserInfo;

import javax.validation.constraints.NotNull;

/**
 * 认证用户
 *
 * @author sky
 * @since 2025-04-29 17:31:49
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ToString
public class AuthUserDto {

    /**
     * 授权类型：0--WEB端 1--微信端
     */
    private Integer authType;

    /**
     * 手机号码
     */
    private String phone;

    /**
     * 用户名
     */
    private String userName;

//    @JsonIgnore
    /**
     * 密码
     */
    private String password;

    /**
     * 临时登录凭证
     */
    @NotNull(message = "请输入验证码")
    private String code;

    @NotNull(message = "网络出错，请稍后重试")
    private String sp;

    private String phoneCode;

    private String device;

    /**
     * 用户登录id
     */
    private String uuid = "";

    //**********************************
    //以下为微信类传输字段

    /**
     * 微信openId
     */
    private String openId;

    /**
     * 微信用户非敏感信息
     */
    private String rawData;

    /**
     * 微信用户签名
     */
    private String signature;

    /**
     * 微信用户敏感信息
     */
    private String encryptedData;

    /**
     * 微信用户解密算法的向量
     */
    private String iv;

    /**
     * 会话密钥
     */
    @JsonIgnore
    private String sessionKey;

    /**
     * 用户在开放平台的唯一标识符
     */
    @JsonIgnore
    private String unionId;

    //以上为微信类传输字段
    //**********************************

    /**
     * 服务器jwt token
     */
    private String token;

    /**
     * 用户信息
     */
    private UserInfo userInfo;

}
